import systemConfig from '@/config/config.js';
// 页面白名单，不受拦截
const whiteList = systemConfig.whiteList

//定义需要验证权限的拦截器类型 小程序的switchTab不会被识别到
const jumpInterceptorList = ['navigateTo', 'redirectTo', 'reLaunch', 'switchTab', 'navigateBack'];

//应用权限校验至拦截器
jumpInterceptorList.forEach(item => {
	uni.addInterceptor(item, {
		// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
		invoke(e) {
			console.log(item, e)
			const url = e.url.split('?')[0]
			console.log('11', systemConfig.intercept_status && !systemConfig.hasPermission(url))
			if (systemConfig.intercept_status && !systemConfig.hasPermission(url)) {
				uni.reLaunch({
					url: systemConfig.login_page
				})
				return false
			}
			return true
		},
		success(e) {
			// 路由成功后执行的逻辑
			console.log('页面跳转成功');
		},
		fail(e) {
			// 路由失败后执行的逻辑
			console.log('页面跳转失败', e);
		},
		complete(e) {
			// 路由结束后执行的逻辑（无论成功或失败）
			console.log('页面跳转结束');
		}
	})
})